package com.bsj.power.common.def.http.vo;

import com.bsj.power.common.constant.NumericalConstants;
import com.bsj.power.common.def.entity.job.Job;
import com.bsj.power.common.util.DateUtils;
import lombok.Builder;
import lombok.Data;

/**
 * @author yinhao
 * @version 1.0
 * @description 工单请求返回对象
 * @date 2024/7/10
 */
@Data
@Builder
public class WorkHttpVO {

    /**
     * 工单编号
     */
    private String wonum;
    /**
     * 位置描述
     */
    private String location_desc;
    /**
     * 工单状态
     */
    private String status;
    /**
     * 工单状态描述
     */
    private String status_description;
    /**
     * 目标开始时间
     */
    private String targstartdate;
    /**
     * 目标完成时间
     */
    private String targcompdate;
    /**
     * 计划开始时间
     */
    private String schedstart;
    /**
     * 计划完成时间
     */
    private String schedfinish;
    /**
     * 执行主管名称
     */
    private String crewmgr_name;
    /**
     * 工作负责人id
     */
    private String lead;
    /**
     * 工作负责人名称
     */
    private String lead_name;
    /**
     * 工作负责人电话
     */
    private String leadphone;
    /**
     * 选点状态（承包商qc）
     */
    private Integer qc1req;
    /**
     * 选点状态（维修qc）
     */
    private Integer qc2req;
    /**
     * 选点状态（技术支持qc）
     */
    private Integer qc3req;
    /**
     * wbs编码
     */
    private String posid;
    /**
     * wbs描述
     */
    private String wbspost1;
    /**
     * 工单描述
     */
    private String description;
    /**
     * 机组号 HY1-HY4为1号——4号机组 HYG一期公用 HYS二期公用 HYL力能区 HYP烟台培训中心 HYZ核能综合利用项目 NA
     */
    private String plusunit;
    /**
     * 风险等级 中、高、低
     */
    private String wolo6;
    /**
     * 功能位置（作业设备）
     */
    private String location;
    /**
     * 房间号
     */
    private String room;
    /**
     * 步骤
     */
    private String task_desc;
    /**
     * 危险
     */
    private String hazard_desc;
    /**
     * 预防措施
     */
    private String precaution_desc;
    /**
     * 工单小类
     */
    private String worktype;
    /**
     * 是否敏感区域   是  否  null
     */
    private String woeq11;
    /**
     * 敏感区域级别
     */
    private String n_woeq1leve;

    public Job changeObj() {
        Job job = new Job();
        job.setJobNum(this.wonum);
        job.setDescription(this.description);
        job.setWorkArea(this.location_desc);
        job.setSyncStatus(this.status);
        job.setStateDescription(this.status_description);
        job.setTargetTime(DateUtils.strToDate(this.targstartdate));
        job.setCompleteTime(DateUtils.strToDate(this.targcompdate));
        job.setStartTime(DateUtils.strToDate(this.schedstart));
        job.setEndTime(DateUtils.strToDate(this.schedfinish));
        job.setExecutiveDirector(this.crewmgr_name);
        job.setDirectorId(this.lead);
        job.setDirector(this.lead_name);
        job.setPhone(this.leadphone);
        job.setContractorQc(this.qc1req);
        job.setMaintainQc(this.qc2req);
        job.setTechnicalSupportQc(this.qc3req);
        job.setPosId(this.posid);
        job.setWbsPost(this.wbspost1);
        job.setStatus(NumericalConstants.ONE);
        job.setLocation(this.location);
        job.setRoomNo(this.room);
        job.setProcedure(this.task_desc);
        job.setRisk(this.hazard_desc);
        job.setPrecautionaryMeasures(this.precaution_desc);
        job.setWorkType(this.worktype);
        //默认为0
        job.setAreaType(NumericalConstants.ZERO);
        job.setAreaLevel(this.n_woeq1leve);
        return job;
    }
}
